package com.hx.reporter.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hx.common.annotation.Excel;
import com.hx.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 群组对象 talk_group
 *
 * @author ${author}
 * @date 2023-05-28
 */
public class Group extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 群Id
     */
    private String groupId;

    /**
     * 群昵称
     */
    @Excel(name = "群昵称")
    private String groupName;

    /**
     * 群头像
     */
    @Excel(name = "群头像")
    private String groupAvatar;

    /**
     * 群公告
     */
    @Excel(name = "群公告")
    private String groupNotice;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date creatTime;

    /**
     * 群成员数量
     */
    @Excel(name = "群成员数量")
    private Integer memberCount;

    /**
     * 创建者
     */
    @Excel(name = "创建者")
    private String creatBy;

    @Excel(name = "用户ID")
    private String userId;

    public void setGroupId(String groupId) {
        this.groupId = groupId;
    }

    public String getGroupId() {
        return groupId;
    }

    public void setGroupName(String groupName) {
        this.groupName = groupName;
    }

    public String getGroupName() {
        return groupName;
    }

    public void setGroupAvatar(String groupAvatar) {
        this.groupAvatar = groupAvatar;
    }

    public String getGroupAvatar() {
        return groupAvatar;
    }

    public void setGroupNotice(String groupNotice) {
        this.groupNotice = groupNotice;
    }

    public String getGroupNotice() {
        return groupNotice;
    }

    public void setCreatTime(Date creatTime) {
        this.creatTime = creatTime;
    }

    public Date getCreatTime() {
        return creatTime;
    }

    public void setMemberCount(Integer memberCount) {
        this.memberCount = memberCount;
    }

    public Integer getMemberCount() {
        return memberCount;
    }

    public void setCreatBy(String creatBy) {
        this.creatBy = creatBy;
    }

    public String getCreatBy() {
        return creatBy;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("groupId", getGroupId())
                .append("groupName", getGroupName())
                .append("groupAvatar", getGroupAvatar())
                .append("groupNotice", getGroupNotice())
                .append("creatTime", getCreatTime())
                .append("memberCount", getMemberCount())
                .append("updateTime", getUpdateTime())
                .append("creatBy", getCreatBy())
                .append("updateBy", getUpdateBy())
                .append("userId", getUserId())
                .toString();
    }
}
